package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PInventoryProjectMarkExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PInventoryProjectMarkExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIpmIdIsNull() {
            addCriterion("ipm_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmIdIsNotNull() {
            addCriterion("ipm_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmIdEqualTo(Integer value) {
            addCriterion("ipm_id =", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdNotEqualTo(Integer value) {
            addCriterion("ipm_id <>", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdGreaterThan(Integer value) {
            addCriterion("ipm_id >", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_id >=", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdLessThan(Integer value) {
            addCriterion("ipm_id <", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_id <=", value, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdIn(List<Integer> values) {
            addCriterion("ipm_id in", values, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdNotIn(List<Integer> values) {
            addCriterion("ipm_id not in", values, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_id between", value1, value2, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_id not between", value1, value2, "ipmId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdIsNull() {
            addCriterion("ipm_rpp_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdIsNotNull() {
            addCriterion("ipm_rpp_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdEqualTo(Integer value) {
            addCriterion("ipm_rpp_id =", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdNotEqualTo(Integer value) {
            addCriterion("ipm_rpp_id <>", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdGreaterThan(Integer value) {
            addCriterion("ipm_rpp_id >", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_rpp_id >=", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdLessThan(Integer value) {
            addCriterion("ipm_rpp_id <", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_rpp_id <=", value, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdIn(List<Integer> values) {
            addCriterion("ipm_rpp_id in", values, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdNotIn(List<Integer> values) {
            addCriterion("ipm_rpp_id not in", values, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_rpp_id between", value1, value2, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmRppIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_rpp_id not between", value1, value2, "ipmRppId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdIsNull() {
            addCriterion("ipm_proposer_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdIsNotNull() {
            addCriterion("ipm_proposer_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdEqualTo(Integer value) {
            addCriterion("ipm_proposer_id =", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdNotEqualTo(Integer value) {
            addCriterion("ipm_proposer_id <>", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdGreaterThan(Integer value) {
            addCriterion("ipm_proposer_id >", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_proposer_id >=", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdLessThan(Integer value) {
            addCriterion("ipm_proposer_id <", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_proposer_id <=", value, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdIn(List<Integer> values) {
            addCriterion("ipm_proposer_id in", values, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdNotIn(List<Integer> values) {
            addCriterion("ipm_proposer_id not in", values, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_proposer_id between", value1, value2, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmProposerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_proposer_id not between", value1, value2, "ipmProposerId");
            return (Criteria) this;
        }

        public Criteria andIpmDateIsNull() {
            addCriterion("ipm_date is null");
            return (Criteria) this;
        }

        public Criteria andIpmDateIsNotNull() {
            addCriterion("ipm_date is not null");
            return (Criteria) this;
        }

        public Criteria andIpmDateEqualTo(Date value) {
            addCriterion("ipm_date =", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateNotEqualTo(Date value) {
            addCriterion("ipm_date <>", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateGreaterThan(Date value) {
            addCriterion("ipm_date >", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateGreaterThanOrEqualTo(Date value) {
            addCriterion("ipm_date >=", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateLessThan(Date value) {
            addCriterion("ipm_date <", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateLessThanOrEqualTo(Date value) {
            addCriterion("ipm_date <=", value, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateIn(List<Date> values) {
            addCriterion("ipm_date in", values, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateNotIn(List<Date> values) {
            addCriterion("ipm_date not in", values, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateBetween(Date value1, Date value2) {
            addCriterion("ipm_date between", value1, value2, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmDateNotBetween(Date value1, Date value2) {
            addCriterion("ipm_date not between", value1, value2, "ipmDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkIsNull() {
            addCriterion("ipm_remark is null");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkIsNotNull() {
            addCriterion("ipm_remark is not null");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkEqualTo(String value) {
            addCriterion("ipm_remark =", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkNotEqualTo(String value) {
            addCriterion("ipm_remark <>", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkGreaterThan(String value) {
            addCriterion("ipm_remark >", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_remark >=", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkLessThan(String value) {
            addCriterion("ipm_remark <", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkLessThanOrEqualTo(String value) {
            addCriterion("ipm_remark <=", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkLike(String value) {
            addCriterion("ipm_remark like", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkNotLike(String value) {
            addCriterion("ipm_remark not like", value, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkIn(List<String> values) {
            addCriterion("ipm_remark in", values, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkNotIn(List<String> values) {
            addCriterion("ipm_remark not in", values, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkBetween(String value1, String value2) {
            addCriterion("ipm_remark between", value1, value2, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmRemarkNotBetween(String value1, String value2) {
            addCriterion("ipm_remark not between", value1, value2, "ipmRemark");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeIsNull() {
            addCriterion("ipm_ity_type is null");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeIsNotNull() {
            addCriterion("ipm_ity_type is not null");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeEqualTo(String value) {
            addCriterion("ipm_ity_type =", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeNotEqualTo(String value) {
            addCriterion("ipm_ity_type <>", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeGreaterThan(String value) {
            addCriterion("ipm_ity_type >", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_ity_type >=", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeLessThan(String value) {
            addCriterion("ipm_ity_type <", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeLessThanOrEqualTo(String value) {
            addCriterion("ipm_ity_type <=", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeLike(String value) {
            addCriterion("ipm_ity_type like", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeNotLike(String value) {
            addCriterion("ipm_ity_type not like", value, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeIn(List<String> values) {
            addCriterion("ipm_ity_type in", values, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeNotIn(List<String> values) {
            addCriterion("ipm_ity_type not in", values, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeBetween(String value1, String value2) {
            addCriterion("ipm_ity_type between", value1, value2, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmItyTypeNotBetween(String value1, String value2) {
            addCriterion("ipm_ity_type not between", value1, value2, "ipmItyType");
            return (Criteria) this;
        }

        public Criteria andIpmNumIsNull() {
            addCriterion("ipm_num is null");
            return (Criteria) this;
        }

        public Criteria andIpmNumIsNotNull() {
            addCriterion("ipm_num is not null");
            return (Criteria) this;
        }

        public Criteria andIpmNumEqualTo(Double value) {
            addCriterion("ipm_num =", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumNotEqualTo(Double value) {
            addCriterion("ipm_num <>", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumGreaterThan(Double value) {
            addCriterion("ipm_num >", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumGreaterThanOrEqualTo(Double value) {
            addCriterion("ipm_num >=", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumLessThan(Double value) {
            addCriterion("ipm_num <", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumLessThanOrEqualTo(Double value) {
            addCriterion("ipm_num <=", value, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumIn(List<Double> values) {
            addCriterion("ipm_num in", values, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumNotIn(List<Double> values) {
            addCriterion("ipm_num not in", values, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumBetween(Double value1, Double value2) {
            addCriterion("ipm_num between", value1, value2, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmNumNotBetween(Double value1, Double value2) {
            addCriterion("ipm_num not between", value1, value2, "ipmNum");
            return (Criteria) this;
        }

        public Criteria andIpmWeightIsNull() {
            addCriterion("ipm_weight is null");
            return (Criteria) this;
        }

        public Criteria andIpmWeightIsNotNull() {
            addCriterion("ipm_weight is not null");
            return (Criteria) this;
        }

        public Criteria andIpmWeightEqualTo(Double value) {
            addCriterion("ipm_weight =", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightNotEqualTo(Double value) {
            addCriterion("ipm_weight <>", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightGreaterThan(Double value) {
            addCriterion("ipm_weight >", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightGreaterThanOrEqualTo(Double value) {
            addCriterion("ipm_weight >=", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightLessThan(Double value) {
            addCriterion("ipm_weight <", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightLessThanOrEqualTo(Double value) {
            addCriterion("ipm_weight <=", value, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightIn(List<Double> values) {
            addCriterion("ipm_weight in", values, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightNotIn(List<Double> values) {
            addCriterion("ipm_weight not in", values, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightBetween(Double value1, Double value2) {
            addCriterion("ipm_weight between", value1, value2, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmWeightNotBetween(Double value1, Double value2) {
            addCriterion("ipm_weight not between", value1, value2, "ipmWeight");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateIsNull() {
            addCriterion("ipm_exec_date is null");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateIsNotNull() {
            addCriterion("ipm_exec_date is not null");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateEqualTo(Date value) {
            addCriterion("ipm_exec_date =", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateNotEqualTo(Date value) {
            addCriterion("ipm_exec_date <>", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateGreaterThan(Date value) {
            addCriterion("ipm_exec_date >", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateGreaterThanOrEqualTo(Date value) {
            addCriterion("ipm_exec_date >=", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateLessThan(Date value) {
            addCriterion("ipm_exec_date <", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateLessThanOrEqualTo(Date value) {
            addCriterion("ipm_exec_date <=", value, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateIn(List<Date> values) {
            addCriterion("ipm_exec_date in", values, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateNotIn(List<Date> values) {
            addCriterion("ipm_exec_date not in", values, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateBetween(Date value1, Date value2) {
            addCriterion("ipm_exec_date between", value1, value2, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecDateNotBetween(Date value1, Date value2) {
            addCriterion("ipm_exec_date not between", value1, value2, "ipmExecDate");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdIsNull() {
            addCriterion("ipm_executor_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdIsNotNull() {
            addCriterion("ipm_executor_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdEqualTo(Integer value) {
            addCriterion("ipm_executor_id =", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdNotEqualTo(Integer value) {
            addCriterion("ipm_executor_id <>", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdGreaterThan(Integer value) {
            addCriterion("ipm_executor_id >", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_executor_id >=", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdLessThan(Integer value) {
            addCriterion("ipm_executor_id <", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_executor_id <=", value, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdIn(List<Integer> values) {
            addCriterion("ipm_executor_id in", values, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdNotIn(List<Integer> values) {
            addCriterion("ipm_executor_id not in", values, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_executor_id between", value1, value2, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmExecutorIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_executor_id not between", value1, value2, "ipmExecutorId");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeIsNull() {
            addCriterion("ipm_in_project_code is null");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeIsNotNull() {
            addCriterion("ipm_in_project_code is not null");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeEqualTo(String value) {
            addCriterion("ipm_in_project_code =", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeNotEqualTo(String value) {
            addCriterion("ipm_in_project_code <>", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeGreaterThan(String value) {
            addCriterion("ipm_in_project_code >", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_in_project_code >=", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeLessThan(String value) {
            addCriterion("ipm_in_project_code <", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeLessThanOrEqualTo(String value) {
            addCriterion("ipm_in_project_code <=", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeLike(String value) {
            addCriterion("ipm_in_project_code like", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeNotLike(String value) {
            addCriterion("ipm_in_project_code not like", value, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeIn(List<String> values) {
            addCriterion("ipm_in_project_code in", values, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeNotIn(List<String> values) {
            addCriterion("ipm_in_project_code not in", values, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeBetween(String value1, String value2) {
            addCriterion("ipm_in_project_code between", value1, value2, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectCodeNotBetween(String value1, String value2) {
            addCriterion("ipm_in_project_code not between", value1, value2, "ipmInProjectCode");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameIsNull() {
            addCriterion("ipm_in_project_name is null");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameIsNotNull() {
            addCriterion("ipm_in_project_name is not null");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameEqualTo(String value) {
            addCriterion("ipm_in_project_name =", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameNotEqualTo(String value) {
            addCriterion("ipm_in_project_name <>", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameGreaterThan(String value) {
            addCriterion("ipm_in_project_name >", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_in_project_name >=", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameLessThan(String value) {
            addCriterion("ipm_in_project_name <", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameLessThanOrEqualTo(String value) {
            addCriterion("ipm_in_project_name <=", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameLike(String value) {
            addCriterion("ipm_in_project_name like", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameNotLike(String value) {
            addCriterion("ipm_in_project_name not like", value, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameIn(List<String> values) {
            addCriterion("ipm_in_project_name in", values, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameNotIn(List<String> values) {
            addCriterion("ipm_in_project_name not in", values, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameBetween(String value1, String value2) {
            addCriterion("ipm_in_project_name between", value1, value2, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmInProjectNameNotBetween(String value1, String value2) {
            addCriterion("ipm_in_project_name not between", value1, value2, "ipmInProjectName");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdIsNull() {
            addCriterion("ipm_before_ity_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdIsNotNull() {
            addCriterion("ipm_before_ity_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdEqualTo(Integer value) {
            addCriterion("ipm_before_ity_id =", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdNotEqualTo(Integer value) {
            addCriterion("ipm_before_ity_id <>", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdGreaterThan(Integer value) {
            addCriterion("ipm_before_ity_id >", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_before_ity_id >=", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdLessThan(Integer value) {
            addCriterion("ipm_before_ity_id <", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_before_ity_id <=", value, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdIn(List<Integer> values) {
            addCriterion("ipm_before_ity_id in", values, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdNotIn(List<Integer> values) {
            addCriterion("ipm_before_ity_id not in", values, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_before_ity_id between", value1, value2, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmBeforeItyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_before_ity_id not between", value1, value2, "ipmBeforeItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdIsNull() {
            addCriterion("ipm_after_ity_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdIsNotNull() {
            addCriterion("ipm_after_ity_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdEqualTo(Integer value) {
            addCriterion("ipm_after_ity_id =", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdNotEqualTo(Integer value) {
            addCriterion("ipm_after_ity_id <>", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdGreaterThan(Integer value) {
            addCriterion("ipm_after_ity_id >", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_after_ity_id >=", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdLessThan(Integer value) {
            addCriterion("ipm_after_ity_id <", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_after_ity_id <=", value, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdIn(List<Integer> values) {
            addCriterion("ipm_after_ity_id in", values, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdNotIn(List<Integer> values) {
            addCriterion("ipm_after_ity_id not in", values, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_after_ity_id between", value1, value2, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAfterItyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_after_ity_id not between", value1, value2, "ipmAfterItyId");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusIsNull() {
            addCriterion("ipm_app_status is null");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusIsNotNull() {
            addCriterion("ipm_app_status is not null");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusEqualTo(Integer value) {
            addCriterion("ipm_app_status =", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusNotEqualTo(Integer value) {
            addCriterion("ipm_app_status <>", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusGreaterThan(Integer value) {
            addCriterion("ipm_app_status >", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_app_status >=", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusLessThan(Integer value) {
            addCriterion("ipm_app_status <", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_app_status <=", value, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusIn(List<Integer> values) {
            addCriterion("ipm_app_status in", values, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusNotIn(List<Integer> values) {
            addCriterion("ipm_app_status not in", values, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusBetween(Integer value1, Integer value2) {
            addCriterion("ipm_app_status between", value1, value2, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmAppStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_app_status not between", value1, value2, "ipmAppStatus");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdIsNull() {
            addCriterion("ipm_out_odr_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdIsNotNull() {
            addCriterion("ipm_out_odr_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdEqualTo(Integer value) {
            addCriterion("ipm_out_odr_id =", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdNotEqualTo(Integer value) {
            addCriterion("ipm_out_odr_id <>", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdGreaterThan(Integer value) {
            addCriterion("ipm_out_odr_id >", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_out_odr_id >=", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdLessThan(Integer value) {
            addCriterion("ipm_out_odr_id <", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_out_odr_id <=", value, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdIn(List<Integer> values) {
            addCriterion("ipm_out_odr_id in", values, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdNotIn(List<Integer> values) {
            addCriterion("ipm_out_odr_id not in", values, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_out_odr_id between", value1, value2, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmOutOdrIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_out_odr_id not between", value1, value2, "ipmOutOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdIsNull() {
            addCriterion("ipm_in_odr_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdIsNotNull() {
            addCriterion("ipm_in_odr_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdEqualTo(Integer value) {
            addCriterion("ipm_in_odr_id =", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdNotEqualTo(Integer value) {
            addCriterion("ipm_in_odr_id <>", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdGreaterThan(Integer value) {
            addCriterion("ipm_in_odr_id >", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_in_odr_id >=", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdLessThan(Integer value) {
            addCriterion("ipm_in_odr_id <", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_in_odr_id <=", value, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdIn(List<Integer> values) {
            addCriterion("ipm_in_odr_id in", values, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdNotIn(List<Integer> values) {
            addCriterion("ipm_in_odr_id not in", values, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_in_odr_id between", value1, value2, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmInOdrIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_in_odr_id not between", value1, value2, "ipmInOdrId");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeIsNull() {
            addCriterion("ipm_mat_code is null");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeIsNotNull() {
            addCriterion("ipm_mat_code is not null");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeEqualTo(String value) {
            addCriterion("ipm_mat_code =", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeNotEqualTo(String value) {
            addCriterion("ipm_mat_code <>", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeGreaterThan(String value) {
            addCriterion("ipm_mat_code >", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_mat_code >=", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeLessThan(String value) {
            addCriterion("ipm_mat_code <", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeLessThanOrEqualTo(String value) {
            addCriterion("ipm_mat_code <=", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeLike(String value) {
            addCriterion("ipm_mat_code like", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeNotLike(String value) {
            addCriterion("ipm_mat_code not like", value, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeIn(List<String> values) {
            addCriterion("ipm_mat_code in", values, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeNotIn(List<String> values) {
            addCriterion("ipm_mat_code not in", values, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeBetween(String value1, String value2) {
            addCriterion("ipm_mat_code between", value1, value2, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatCodeNotBetween(String value1, String value2) {
            addCriterion("ipm_mat_code not between", value1, value2, "ipmMatCode");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescIsNull() {
            addCriterion("ipm_mat_desc is null");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescIsNotNull() {
            addCriterion("ipm_mat_desc is not null");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescEqualTo(String value) {
            addCriterion("ipm_mat_desc =", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescNotEqualTo(String value) {
            addCriterion("ipm_mat_desc <>", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescGreaterThan(String value) {
            addCriterion("ipm_mat_desc >", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_mat_desc >=", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescLessThan(String value) {
            addCriterion("ipm_mat_desc <", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescLessThanOrEqualTo(String value) {
            addCriterion("ipm_mat_desc <=", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescLike(String value) {
            addCriterion("ipm_mat_desc like", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescNotLike(String value) {
            addCriterion("ipm_mat_desc not like", value, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescIn(List<String> values) {
            addCriterion("ipm_mat_desc in", values, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescNotIn(List<String> values) {
            addCriterion("ipm_mat_desc not in", values, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescBetween(String value1, String value2) {
            addCriterion("ipm_mat_desc between", value1, value2, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmMatDescNotBetween(String value1, String value2) {
            addCriterion("ipm_mat_desc not between", value1, value2, "ipmMatDesc");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoIsNull() {
            addCriterion("ipm_standard_no is null");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoIsNotNull() {
            addCriterion("ipm_standard_no is not null");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoEqualTo(String value) {
            addCriterion("ipm_standard_no =", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoNotEqualTo(String value) {
            addCriterion("ipm_standard_no <>", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoGreaterThan(String value) {
            addCriterion("ipm_standard_no >", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_standard_no >=", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoLessThan(String value) {
            addCriterion("ipm_standard_no <", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoLessThanOrEqualTo(String value) {
            addCriterion("ipm_standard_no <=", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoLike(String value) {
            addCriterion("ipm_standard_no like", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoNotLike(String value) {
            addCriterion("ipm_standard_no not like", value, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoIn(List<String> values) {
            addCriterion("ipm_standard_no in", values, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoNotIn(List<String> values) {
            addCriterion("ipm_standard_no not in", values, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoBetween(String value1, String value2) {
            addCriterion("ipm_standard_no between", value1, value2, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmStandardNoNotBetween(String value1, String value2) {
            addCriterion("ipm_standard_no not between", value1, value2, "ipmStandardNo");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonIsNull() {
            addCriterion("ipm_reject_reason is null");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonIsNotNull() {
            addCriterion("ipm_reject_reason is not null");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonEqualTo(String value) {
            addCriterion("ipm_reject_reason =", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonNotEqualTo(String value) {
            addCriterion("ipm_reject_reason <>", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonGreaterThan(String value) {
            addCriterion("ipm_reject_reason >", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_reject_reason >=", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonLessThan(String value) {
            addCriterion("ipm_reject_reason <", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonLessThanOrEqualTo(String value) {
            addCriterion("ipm_reject_reason <=", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonLike(String value) {
            addCriterion("ipm_reject_reason like", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonNotLike(String value) {
            addCriterion("ipm_reject_reason not like", value, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonIn(List<String> values) {
            addCriterion("ipm_reject_reason in", values, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonNotIn(List<String> values) {
            addCriterion("ipm_reject_reason not in", values, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonBetween(String value1, String value2) {
            addCriterion("ipm_reject_reason between", value1, value2, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmRejectReasonNotBetween(String value1, String value2) {
            addCriterion("ipm_reject_reason not between", value1, value2, "ipmRejectReason");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusIsNull() {
            addCriterion("ipm_data_status is null");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusIsNotNull() {
            addCriterion("ipm_data_status is not null");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusEqualTo(String value) {
            addCriterion("ipm_data_status =", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusNotEqualTo(String value) {
            addCriterion("ipm_data_status <>", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusGreaterThan(String value) {
            addCriterion("ipm_data_status >", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusGreaterThanOrEqualTo(String value) {
            addCriterion("ipm_data_status >=", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusLessThan(String value) {
            addCriterion("ipm_data_status <", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusLessThanOrEqualTo(String value) {
            addCriterion("ipm_data_status <=", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusLike(String value) {
            addCriterion("ipm_data_status like", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusNotLike(String value) {
            addCriterion("ipm_data_status not like", value, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusIn(List<String> values) {
            addCriterion("ipm_data_status in", values, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusNotIn(List<String> values) {
            addCriterion("ipm_data_status not in", values, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusBetween(String value1, String value2) {
            addCriterion("ipm_data_status between", value1, value2, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmDataStatusNotBetween(String value1, String value2) {
            addCriterion("ipm_data_status not between", value1, value2, "ipmDataStatus");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdIsNull() {
            addCriterion("ipm_remove_user_id is null");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdIsNotNull() {
            addCriterion("ipm_remove_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdEqualTo(Integer value) {
            addCriterion("ipm_remove_user_id =", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdNotEqualTo(Integer value) {
            addCriterion("ipm_remove_user_id <>", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdGreaterThan(Integer value) {
            addCriterion("ipm_remove_user_id >", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ipm_remove_user_id >=", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdLessThan(Integer value) {
            addCriterion("ipm_remove_user_id <", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("ipm_remove_user_id <=", value, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdIn(List<Integer> values) {
            addCriterion("ipm_remove_user_id in", values, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdNotIn(List<Integer> values) {
            addCriterion("ipm_remove_user_id not in", values, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdBetween(Integer value1, Integer value2) {
            addCriterion("ipm_remove_user_id between", value1, value2, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ipm_remove_user_id not between", value1, value2, "ipmRemoveUserId");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateIsNull() {
            addCriterion("ipm_remove_date is null");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateIsNotNull() {
            addCriterion("ipm_remove_date is not null");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateEqualTo(Date value) {
            addCriterion("ipm_remove_date =", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateNotEqualTo(Date value) {
            addCriterion("ipm_remove_date <>", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateGreaterThan(Date value) {
            addCriterion("ipm_remove_date >", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateGreaterThanOrEqualTo(Date value) {
            addCriterion("ipm_remove_date >=", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateLessThan(Date value) {
            addCriterion("ipm_remove_date <", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateLessThanOrEqualTo(Date value) {
            addCriterion("ipm_remove_date <=", value, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateIn(List<Date> values) {
            addCriterion("ipm_remove_date in", values, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateNotIn(List<Date> values) {
            addCriterion("ipm_remove_date not in", values, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateBetween(Date value1, Date value2) {
            addCriterion("ipm_remove_date between", value1, value2, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmRemoveDateNotBetween(Date value1, Date value2) {
            addCriterion("ipm_remove_date not between", value1, value2, "ipmRemoveDate");
            return (Criteria) this;
        }

        public Criteria andIpmPriceIsNull() {
            addCriterion("ipm_price is null");
            return (Criteria) this;
        }

        public Criteria andIpmPriceIsNotNull() {
            addCriterion("ipm_price is not null");
            return (Criteria) this;
        }

        public Criteria andIpmPriceEqualTo(Double value) {
            addCriterion("ipm_price =", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceNotEqualTo(Double value) {
            addCriterion("ipm_price <>", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceGreaterThan(Double value) {
            addCriterion("ipm_price >", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("ipm_price >=", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceLessThan(Double value) {
            addCriterion("ipm_price <", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceLessThanOrEqualTo(Double value) {
            addCriterion("ipm_price <=", value, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceIn(List<Double> values) {
            addCriterion("ipm_price in", values, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceNotIn(List<Double> values) {
            addCriterion("ipm_price not in", values, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceBetween(Double value1, Double value2) {
            addCriterion("ipm_price between", value1, value2, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmPriceNotBetween(Double value1, Double value2) {
            addCriterion("ipm_price not between", value1, value2, "ipmPrice");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateIsNull() {
            addCriterion("ipm_submit_date is null");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateIsNotNull() {
            addCriterion("ipm_submit_date is not null");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateEqualTo(Date value) {
            addCriterion("ipm_submit_date =", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateNotEqualTo(Date value) {
            addCriterion("ipm_submit_date <>", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateGreaterThan(Date value) {
            addCriterion("ipm_submit_date >", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateGreaterThanOrEqualTo(Date value) {
            addCriterion("ipm_submit_date >=", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateLessThan(Date value) {
            addCriterion("ipm_submit_date <", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateLessThanOrEqualTo(Date value) {
            addCriterion("ipm_submit_date <=", value, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateIn(List<Date> values) {
            addCriterion("ipm_submit_date in", values, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateNotIn(List<Date> values) {
            addCriterion("ipm_submit_date not in", values, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateBetween(Date value1, Date value2) {
            addCriterion("ipm_submit_date between", value1, value2, "ipmSubmitDate");
            return (Criteria) this;
        }

        public Criteria andIpmSubmitDateNotBetween(Date value1, Date value2) {
            addCriterion("ipm_submit_date not between", value1, value2, "ipmSubmitDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}